home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Utilities / Programming / EnterAct 3.5 / If this is an upgrade (3.5)… < prev    next >
Text File  |  1995-12-11  |  18KB  |  113 lines

  1. December 1995
  2.  
  3. Welcome to EnterAct 3.5 Significant new things are listed below, and the EnterAct 3 Manual has been revised as a result (included with this package). "EnterAct in brief" also describes the more important new features.
  4.  
  5. Currently about half of EnterAct's improvements are the direct result of user requests, quite often just one user who bothers to write. Design your suggestion up a bit, summarize your thoughts in a paragraph or two, send it off to me--I'll probably do it. The only significant exception at present is colored keywords (I'm still thinking about it).
  6.  
  7. •••• PLEASE DO THIS!••••
  8. EnterAct's parser has been revised for version 3.5. To take advantage of the resulting improvement in lookup powers, please rebuild your entire dictionary. To do this: hold down all three of <shift><option><command>, and select "Update Dictionary" from the "EnterAct" menu.
  9. •••• PLEASE DO THAT!••••
  10.  
  11. ••••Installation••••
  12. When installing the new version, please take a moment first to set aside any hAWK programs in your "hAWK programs" folder that you wish to keep. By the way, it’s a good policy to rename any supplied hAWK programs that you modify, if only so that you can distinguish them when updated versions arrive.
  13. Please reinstall every part of the EnterAct package that you use. You'll find a list of contents in "Installing EnterAct3".
  14. NOTE EnterAct can now be placed anywhere, and you can designate a <system> folder for a project at any time (see below).
  15. ••••
  16.  
  17. CodeWarrior users PLEASE NOTE:
  18. • EnterAct is CW7 compatible, but as of this writing you must turn off "Use Modification Date Caching", under the Extras Prefs, to avoid getting extra recompiles of source files under some circumstances. We're working on it....
  19. • Metrowerks supplies a few third-party source  files with nested comment starts (of the form "/*.../*...*/"); the quick fix is to deselect the the option "Detect nested comments" in EnterAct's Options… dialog. A better fix is to remove the few nested comment starts and leave the checking enabled.
  20.  
  21. TCL users please note: the file "TCL #includes.cpp" contains some unparseable junk (quite deliberate) and EnterAct can't quite handle it yet, so please omit this file from your dictionary by holding down the<Command> key and clicking next to its file name in your project window. A dash '-' will appear next to the name, and it will be skipped.
  22.  
  23.  
  24. •••••••New for 3.5
  25. • (good news) EnterAct now provides more accurate lookup: (bad news) to get the full benefits, you'll have to rebuld your project's dictionary. To do this, hold down all three of <shift> <option> <command> and select "Update Dictionary" from the "EnterAct" menu.
  26. • Specific lookup improvements: AutoLook can now resolve a reference chain such as "someObjectOrMember->aMethod()->anotherMember[i].mysteryMember" with very high accuracy: just click after any name in the reference chain to view results in the AutoLook window. As always, your dictionary must be reasonably up to date. Results are most accurate when you click inside an actual method in a source or header file. "Reverse" lookup (click after a name and hit <shift><enter> to view a lookup window that holds all structures with the name as a member) is now faster. And lookup for destructors has been improved all round. 
  27. • In the Browser, <Command>click on any name to view a popup list that contains all methods the class inherits, as well as its own methods. Method names are shown in alphabetical order, with owning class names prepended. Be warned, private methods of base classes are also shown.
  28. • In all Browser popups showing methods, the virtual ones are marked with a "v". This lets you tell at a glance whether a method wants or allows an override.
  29. • Also in the Browser window, you can center up the class you're after by typing the first part or some distinctive part of its name.
  30. • A new main menu, "Locations", which lets you jump to specific files and locations within them. These files don't need to be in your project, and can be on any disk. It's like a file-independent "Marker" menu! When you add a location, you can select some text beforehand to give it a name; in any case, a dialog appears in which you can edit or delete the name of the location. If you don't supply a name, specifics of the location (file name, line number, owning marker) will be used to concoct a name for you. The Locations menu can track up to 10 locations, and is of course permanently remembered. If you're in a hurry, you can access the positions in this menu with an <Option>click-and-hold in any text window.
  31. • When you first create a project, you will be asked to designate the <system> folder for it--and there is a new menu command "Select <system> Folder..." that allows you to change it for a project at any time. Recommended, place EnterAct within the folder for the development environment that you use most often, since that's the folder your project will use if you cancel the <system> folder selection dialog when creating a project.
  32. • No one ever used the "Revert" button in the "Find" dialog--so this has been replaced by the "Dual Batch Find" button, which is a lot more fun: it carries out batch searches of the general form "Find 'first string' and 'second string' within N lines or characters of each other in all MFS-selected files", and reports a summary to stdout. Like a mini-grep, with none of the hassle.
  33. • Window positions and selections are now saved and restored automatically by default for all text files without your intervention (including files checked out "read only"--note the file modification date is not changed by EnterAct). To defeat this, turn off the "Save document window locations" option in the Options dialog.
  34. • <Option>zoom: didn't you just hate it when <Option>zoom dropped the bottom of your text window all the way to the bottom of the screen—and covered up your AutoLook window? Now <Option>zoom leaves your AutoLook window uncovered.
  35. • To jump to an included header when viewing a line of the form
  36. #include "filename"
  37. or
  38. #include <filename>
  39. you can now click anywhere on the line and then pick "Go to".
  40. • Another new main menu, "Scripts", allows you to run any compiled scripts that are in your "(EnterAct Scripts)" folder. A few come supplied--you should take a look at them with the Script Editor and tune them to your needs before running them. And feel free to drop in your own scripts there, too.  If a script runs successfully, EnterAct shows you the AppleScript "result" variable (as text) in stdout. Please note that EnterAct itself understands only the "basic four" Apple events: this menu is provided so that you can run a script without leaving EnterAct, and view the result string in your favorite editor.
  41. • Some fixes:
  42. -the "Skip '-'" checkbox in the Find dialog is now properly maintained. A point of confusion, please note that if "Skip '-'" is selected then you CANNOT put bullets beside any file names in the project window that are already marked with a '-'. Also please note that the "All" and "None" buttons in the Find dialog now obey the "Skip '-'" checkbox.
  43. -great panes have been taken (ouch) to optimize text redraws, and you should find that EnterAct's colored syntax redraws are among the most flicker-free in the business.
  44. -Print was adding one line of garbage at the end of the last page printed, no more.
  45. -the Activities Log is no longer deleted if you switch out of EnterAct and then persuade some other app to crash (typically the one you're developing).
  46. -key strokes are no longer occasionally lost when you use EnterAct as Symantec's editor.
  47. -if you don't have a definition for a function in your project, <Option>double-clicking on the name will take you to the prototype, as a "better than nothing" alternative. This feature was always there, but dropped out just for version 3.4.
  48. -names entered in the "Macros to skip..." dialog now cover a greater variety of cases, so if you have a file that won't parse because a macro name appears in a weird spot, try entering the name in this dialog.
  49. ••••
  50.  
  51. •••••••New for 3.4
  52. • You can now add several files with the same name to your project. If more that one file has the same name, truncated full path names will be displayed next to the file names, so you can tell which is which.
  53. "Batch" find will also display full path names if needed to distinguish files with the same name. Please note that in this version at least, the "Index" commands still show just the file names, not full path names. This may change in a future version.
  54. If you need to avoid adding a file when a file with the same name is already in your project, there are different approaches you can take: add files from a list of full path names; use the new <Command>click in the project window, described below, to exclude files from being built into your dictionary; or, if the files that shouldn't be added are in their own folder, put the folder's name in parentheses (see just below).
  55. • In a related vein, EnterAct now skips folders whose names are parenthesized when adding all files in subfolders, or when attempting to automatically relocate a file. So to hide a folder such as "Old Source" from EnterAct's view, change its name to "(Old Source)".
  56. • INTERFACE CHANGE! To exclude a source or header file from dictionary updates, hold down the <Command> key and click on its name in the project window. The cursor will change to an 'X' while you do so, and a dash '-' will be placed beside the name of any file excluded. <Command> clicking on a name used to select the file for multi-file operations, but from now on you are restricted to <Option> click, or <Command><Option> click for that. You'll still see the "eyeball" cursor when making multi-file selections, with bullets • beside the names, as before.
  57. • In the Find dialog, the "Skip '-'" checkbox lets you exclude project files that are marked with a dash '-' when carrying out a multi-file operation such as searching or running a hAWK program or removing •'d files.
  58. • Jumping to definitions: if you have a variable or function with more than one definition, there is now a way to jump to the exact one you want: press <Enter> to look the name up; use the popup menu in the lookup window to pick the definition you want (<Option> click in the window's title bar); and then use <Option>double-click on the name, or "Find Definition" without changing the default selection. The popup menu includes truncated full path names for the defining files, so you can tell which definition is which.
  59. • Multiple static definitions: since a static definition is for use in just one file, when you <Option>double-click on a static function or variable's name you will jump to the definition in the same file where you double-clicked, if any definition exists there. Otherwise, you can press the <Enter> key and jump to the right one as described just above.
  60. • When showing recent activities, you now have the option in the dialog of showing full path names for all the files (useful mainly if you have files with duplicated names).
  61. • Rounding out improved file handling, "Go to" now accepts full path names, and the display box in text documents now shows the full path name (you no longer have to click in it).
  62. • Double-click on a delimiter to Balance (note EnterAct always include the delimiters in the resulting selection--I'm not sure why some editors leave them out, perhaps because they don't have Smart Paste?)
  63. • Minor enhancements to AutoLook (local variables and data members), and some small cosmetic fixes for syntax coloring.
  64. • As a result of allowing duplicate file names, it is now painless to run the hAWK program "$CompareFiles" (for the curious: add both files to a project, <Option>click on the names so that bullets • appear beside them, select "hAWK" from the EnterAct menu, pick the $ComparFiles program from the top popup, and hit Run.)
  65. • A new hAWK program, "$ClipFormatFuncIntro", that lets you easily "clean up" function starts (from return type down to and including the starting list of local variables) - based on "Code Complete" by Steve McConnell, but as with all hAWK programs, if you don't like the exact way it works - change it! See the program for how-to.
  66. ••••
  67.  
  68. •••••••New for 3.3
  69. • At last! Fast accurate lookup to the AutoLook window for data members, when you're working in a method. Click after or double-click on the data member's name, as usual, and the declaration for the data member will appear in the AutoLook window, followed by any supporting definitions -- eg "Thing *dataMember;" would be followed by the definition of "Thing". The display box in the AutoLook window will tell you which class definition the declaration was found in, either the class that owns the method you're working in, or any of the classes it inherits from. This "data member" lookup for AutoLook is case-sensitive, and the beginning of the name you're looking up must match the beginning of the data member's name exactly, to speed things up and cut down on spurious matches. Please note that lookup for data members that aren't in the current method's inheritance chain remains slower and less accurate.
  70. • AutoLook lookup for local variables has been improved to near perfection
  71. • When jumping to a definition of a function whose prototype is longer than 255 characters, stopping at a prototype rather than the definition has been virtually eliminated
  72. • More color, with some options for comments (try the "Comment options..." dialog for what some think is a refreshing new look)
  73. • Some browser enhancements: names of member classes and structs are now listed
  74. beneath the "main" class name--you can double-click on these to go to their definitions,
  75. or click-and-hold to view a popup of their methods; to view the parents of a main class
  76. name, <Option> or <Command> click on its name to view a popup of them (this supplements the colored lines drawn to the parents, which are often unhelpfully long)
  77. • Type <Return> with a file name selected in the project window to open the file (yawn)
  78. • Bug fix for the browser, "virtual public" parents and the like are no longer ignored
  79. •••••••
  80.  
  81. •••••••New for 3.2.4
  82. • Cooperation with Code Warrior has been modified: it you attempt to open a file with EnterAct that Code Warrior has open, EnterAct will present you with the options of forcing Code Warrior to save and close the file, or of cancelling the Open. If you're not sure, cancel and return to Code Warrior to see if the file should be saved. You cannot open the file with EnterAct unless you "OK" the dialog or go back to Code Warrior and close the file.
  83. • By default, marks are no longer saved with source and header files: instead, they're generated on the fly when opening and saving. This cuts down on file sizes, and saved marks are only useful with the "Index Marker Names" command, which you'll probably never use anyway.
  84. ••••••••
  85.  
  86. •••••••New for 3.2.3
  87. • advance to a file name in one of the project panes by typing either the first part of the name or any dictinctive part of the name (that's the EnterAct way)
  88. • Add All in Folder and Add All in Subfolders -- now you can select and add folders rather than having to select a file within the folder (yay)
  89. ••••••••
  90.  
  91. •••••••New for 3.2.
  92. • Fixed bug (crash when opening any file) that affected certain machines only
  93. • Parser relaxed a bit to handle some abominations such as
  94. "#define X struct Y"
  95. • Parser support for "template" and "operator" (these were a real pain)
  96. • AutoLook has a higher hit rate for displaying underlying struct/class definitions for a variable
  97. • Limited syntax coloring (one-line comments, strings, ticks) with new commands to set the colors under the Edit menu. Is that enough color? If not, let me know. Your vote counts.
  98. • Graphic nesting: while viewing a function in a source file, hold down the <Option> AND <Command> keys and the nesting depth of your curly braces {} will be shown on the left side of the window with vertical lines; when you release the keys, the lines go away. Scrolling while holding the keys down is OK, but you should release the keys before editing (not that you can do much editing with those keys held down...) or the lines will get messed up (the fix: let go of the darned keys!).
  99. ••••••••
  100.  
  101. •••••••New for 3.1
  102. • (OBSOLETE, SEE ABOVE)Code Warrior users, if have a document open under Code Warrior and switch to EnterAct and open the same document, EnterAct will force Code Warrior to close its version of the document (saving any changes you made) before opening it. If you absolutely need to, you can turn this protection off by deselecting the "Safe switching under MultiFinder" option in the Options dialog.
  103. • Fixed hAWK bug that caused intermittent callback problems (affecting front text input and the "magic clipboard" especially)
  104. • hAWK is now compiled with Code Warrior
  105. • hAWK now uses a fixed amount of memory within EnterAct's heap (about 350K), and takes any additional memory from the Finder. This means if you run out of memory while running a hAWK program you should close other applications or REDUCE EnterAct's partition, in order to free up memory. The minimum partition for EnterAct if you're running hAWK programs is about 1.2Meg.
  106. • Small improvements to the dictionary builder to handle C++ constructs like "a::b c::d;"
  107. • If EnterAct can't locate a file, you will be asked to relocate it.
  108. • Batch Find button; to go to a found location in the resulting window, click on the line containing the location and "Go to..."
  109. • EnterAct will mark the functions in your source files as you open them, if they haven't already been marked; this greatly improves lookup for local variables, as displayed in the AutoLook window when you select or click after a local variable name. If your file doesn't get marked (due to being unparseable), local lookup may be rather spotty.
  110. • Pre systen 7.5 only, if you click in the display box of a document to view the document's full path name, this will also set your default directory for your next use of the "Open" dialog. Under system 7.5 the system default behaviour is to decide which folder you will see first, and it is almost always the wrong one. Does "folder retentive" have a hyphen?
  111. ••••••••
  112.  
  113.